// 使用 interface 关键字来定义接口

interface Info {
    name: string;
    age: number;
    bool: boolean;
    realAge?: number; // 可选属性
    readonly readType: string; //只读属性
    [anyType: string]: any //任意属性
}
let res: Info = {
    name: 'pengyuyan',
    age: 18,
    bool: true,
    realAge:20, // 可选
    readType: 'peng',  // 只读
    anyType: 2 // 任意
}

res.readType = 'Bai' // error, 只读属性不可更改

// 继承
interface Parent {
    name: string
}

interface Child extends Parent{
    id: number
}

const info: Child = {
    name: 'pengyuyan',
    id: 0
}
